Hasta el momento la aplicación web está compuesta por una única página, pero ¿qué pasaría si una segunda página necesitara acceder a la misma conexión de la base de datos o incluso al mismo conjunto de posts del blog?
Refactoricemos el código de modo que el comportamiento y las funciones de acceso a los datos estén aisladas en un nuevo fichero llamado "model.php" (en la misma raíz de nuestro sitio web por ejemplo):
Se usa el nombre "model.php" porque la lógica y el acceso a datos de una aplicación suelen conocerse como la capa de modelo. En una aplicación bien organizada, la mayoría del código representando a la lógica de negocio debería encontrarse en los modelos (no en los controladores).
El controlador por tanto (index.php) sería muy simple ahora:
Ahora, la única tarea del controlador es recuperar datos de la capa de modelo de la aplicación y llamar a la plantilla para presentar la información. Este es un ejemplo muy simple del patrón de diseño modelo-vista-controlador.